<?php
/**
 * Kibic Budapest Bridge Open specifikus függvények.
 */
class KBBOCalculation {

	/**
	 * Regisztráció utáni kalkuláció.
	 * Kiszámolja a nevezési díjat.
	 *
	 * @param array $tournament Verseny adatai.
	 * @param int $tournamentType Versenyforma azonosítója.
	 * @param int $timestamp Jelentkezés ideje.
	 * @param array $properties Értékek.
	 * @return Megváltozott értékek.
	 */
	public static function calculate($tournament, $tournamentType, $timestamp, $properties) {
		switch ($tournamentType) {
			case 1287: { // páros
				$properties['fee'] = 9500;
				if ($properties['age'] == "junior") {
					$properties['fee'] = 5000;
				} else if ($properties['clubMember']) {
					$properties['fee'] = 8000;
				} else if ($timestamp < mktime(0,0,0,8,9,date('Y'))) {
					// előnevezés
					$properties['fee'] = 8000;
				}				
			} break;
			case 1288: { // g+20
				$properties['fee'] = 3000;
				if ($properties['clubMember']) {
					$properties['fee'] = 2500;
				} else if ($timestamp < mktime(0,0,0,8,9,date('Y'))) {
					// előnevezés
					$properties['fee'] = 2500;
				}
			} break;
			default: {
				throw new Exception("Unknown tournament type: " . $tournamentType);
			} break;
		}
		return $properties;
	}
}